package com.shux.redis.biz;

import java.util.Collection;
import java.util.List;

import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;

/**
 **********************************************
 *  描述：
 * Simba.Hua
 * 2017年8月3日
 **********************************************
**/
public interface IRedisBiz<T> {
    /**
     * 设置值
     * @param key
     * @param value
     */
    public void set(Object key,T value);
    /**
     * 设置值
     * @param key
     * @param value
     */
    public void set(Object key,T value,Integer timeout);
    /**
     * 获取值
     * @param key
     * @return
     */
    public T get(Object key);
    
    /**
     * 删除为key的值
     * @param key
     */
    public void delete(String key);
    /**
     * 
     * @param keys
     */
    public void deleteBatch(Collection<String> keys);
    
    public  List<T> getBatch(Collection<Object> keys);
    
    public ValueOperations<Object, T> getOpsForValue();
    
    public T getAndSet(Object key,T value);
    
    public RedisTemplate<Object, T> getRedisClusterTemplate();


}
